/*
 * trace_CmdLoopInfo.h
 *
 *  Created on: 2012/07/06
 *      Author: guanxiaoying
 */
/*
 *  The information of a loop.
 *  Created at the beginning of trace.
 *    ( Tr_CmdTraceAllEntries -> tr_StartCmdList )
 *  Deleted at the end of trace.
 *    ( Tr_CmdTraceAllEntries -> tr_FinishCmdList )
 */
#ifndef TRACE_CMDLOOPINFO_H_
#define TRACE_CMDLOOPINFO_H_

typedef struct {
	BOOL (*clear)( VOID );
	BOOL (*alloc)( AST );
	AST  (*getMax)( VOID );
	/* property below: the traced times. Set to 1 when entering this loop,
	 * and do increment until stCmdTraceOption.ucLoopOption */
	ACCESS_U2_FIELD times;
	/* property below: the beginning path of a loop. Starts with a ASM_CMD_CONFLUX command */
	ACCESS_IDX_FIELD begin;
	/* property below: the outside loop in same function */
	ACCESS_IDX_FIELD parent;
}CMDLOOPINFOACCESS;
extern const CMDLOOPINFOACCESS stCmdLoopInfoAccess;

#endif /* TRACE_CMDLOOPINFO_H_ */
